using Business.Models;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Volo.Abp.EntityFrameworkCore.Modeling;

namespace Business.EntityFrameworkCore
{
    public static class BusinessDbContextModelCreatingExtensions
    {
        public static void ConfigureBusiness(this ModelBuilder builder)
        {
            Check.NotNull(builder, nameof(builder));

            builder.Entity<Book>(b =>
            {
                b.ToTable("Book");

                b.ConfigureByConvention();

                b.Property(x => x.Name).IsRequired();


            });

            builder.Entity<PrintTemplate>(b =>
            {
                b.ToTable("base_print_template");

                b.ConfigureByConvention();

                b.Property(x => x.Name).IsRequired();
            });

            builder.Entity<WarehouseArea>(b =>
            {
                b.ToTable("WarehouseArea");

                b.ConfigureByConvention();
                
                b.Property(x => x.Name).IsRequired();
                b.Property(x => x.Code).IsRequired();
            });

            builder.Entity<Area>(b =>
            {
                b.ToTable("Area");

                b.ConfigureByConvention();
                
                b.Property(x => x.Code).IsRequired();
                b.Property(x => x.Name).IsRequired();
            });

            builder.Entity<WarehouseLocation>(b =>
            {
                b.ToTable("WarehouseLocation");

                b.ConfigureByConvention();
                
                b.Property(x => x.Code).IsRequired();
                b.Property(x => x.LocationHeight).IsRequired();
                b.Property(x => x.LocationLength).IsRequired();
                b.Property(x => x.LockPriority).IsRequired();
                b.Property(x => x.LocationWidth).IsRequired();
                b.Property(x => x.LoadBearing).IsRequired();
                b.Property(x => x.LocationVolume).IsRequired();
            });

            builder.Entity<Inventory>(b =>
            {
                b.ToTable("Inventory");

                b.ConfigureByConvention();
                
                b.Property(x => x.InventoryNameImage).IsRequired();
                b.Property(x => x.InventoryName).IsRequired();
                b.Property(x => x.InventoryNo).IsRequired();
                b.Property(x => x.Inventorynumber).IsRequired();
                b.Property(x => x.Investoryvolume).IsRequired();
                b.Property(x => x.InventoryCompany).IsRequired();
            });

            builder.Entity<Inventoryquantity>(b =>
            {
                b.ToTable("Inventoryquantity");

                b.ConfigureByConvention();
                
            });

            builder.Entity<Inventorytransit>(b =>
            {
                b.ToTable("Inventorytransit");

                b.ConfigureByConvention();
                
            });

            builder.Entity<Inventorywarning>(b =>
            {
                b.ToTable("Inventorywarning");

                b.ConfigureByConvention();
                
            });

            builder.Entity<Inventorystrategy>(b =>
            {
                b.ToTable("Inventorystrategy");

                b.ConfigureByConvention();
                
                b.Property(x => x.StrategyName).IsRequired();
                b.Property(x => x.StrategyNo).IsRequired();
                b.Property(x => x.Strategyappointment).IsRequired();
            });

            builder.Entity<Inventoryadjustment>(b =>
            {
                b.ToTable("Inventoryadjustment");

                b.ConfigureByConvention();
                
                b.Property(x => x.AdjustmentOperator).IsRequired();
                b.Property(x => x.AdjustmentdocumentNo).IsRequired();
                b.Property(x => x.Adjustmentremarks).IsRequired();
            });

            builder.Entity<Inventory>(b =>
            {
                b.ToTable("Inventory");

                b.ConfigureByConvention();
                
                b.Property(x => x.InventoryNameImage).IsRequired();
                b.Property(x => x.InventoryName).IsRequired();
                b.Property(x => x.InventoryNo).IsRequired();
                b.Property(x => x.Inventorynumber).IsRequired();
                b.Property(x => x.Investoryvolume).IsRequired();
                b.Property(x => x.InventoryCompany).IsRequired();
            });

            builder.Entity<Inventoryquantity>(b =>
            {
                b.ToTable("Inventoryquantity");

                b.ConfigureByConvention();
                
            });

            builder.Entity<Inventorytransit>(b =>
            {
                b.ToTable("Inventorytransit");

                b.ConfigureByConvention();
                
            });

            builder.Entity<Inventorywarning>(b =>
            {
                b.ToTable("Inventorywarning");

                b.ConfigureByConvention();
                
            });

            builder.Entity<Inventorystrategy>(b =>
            {
                b.ToTable("Inventorystrategy");

                b.ConfigureByConvention();
                
                b.Property(x => x.StrategyName).IsRequired();
                b.Property(x => x.StrategyNo).IsRequired();
                b.Property(x => x.Strategyappointment).IsRequired();
            });

            builder.Entity<Inventoryadjustment>(b =>
            {
                b.ToTable("Inventoryadjustment");

                b.ConfigureByConvention();
                
                b.Property(x => x.AdjustmentOperator).IsRequired();
                b.Property(x => x.AdjustmentdocumentNo).IsRequired();
                b.Property(x => x.Adjustmentremarks).IsRequired();
            });

            builder.Entity<Inventory>(b =>
            {
                b.ToTable("Inventory");

                b.ConfigureByConvention();
                
                b.Property(x => x.InventoryNameImage).IsRequired();
                b.Property(x => x.InventoryName).IsRequired();
                b.Property(x => x.InventoryNo).IsRequired();
                b.Property(x => x.Inventorynumber).IsRequired();
                b.Property(x => x.Investoryvolume).IsRequired();
                b.Property(x => x.InventoryCompany).IsRequired();
            });

            builder.Entity<Inventoryquantity>(b =>
            {
                b.ToTable("Inventoryquantity");

                b.ConfigureByConvention();
                
            });

            builder.Entity<Inventorytransit>(b =>
            {
                b.ToTable("Inventorytransit");

                b.ConfigureByConvention();
                
            });

            builder.Entity<Inventorywarning>(b =>
            {
                b.ToTable("Inventorywarning");

                b.ConfigureByConvention();
                
            });

            builder.Entity<Inventorystrategy>(b =>
            {
                b.ToTable("Inventorystrategy");

                b.ConfigureByConvention();
                
                b.Property(x => x.StrategyName).IsRequired();
                b.Property(x => x.StrategyNo).IsRequired();
                b.Property(x => x.Strategyappointment).IsRequired();
            });

            builder.Entity<Inventoryadjustment>(b =>
            {
                b.ToTable("Inventoryadjustment");

                b.ConfigureByConvention();
                
                b.Property(x => x.AdjustmentOperator).IsRequired();
                b.Property(x => x.AdjustmentdocumentNo).IsRequired();
                b.Property(x => x.Adjustmentremarks).IsRequired();
            });

            builder.Entity<OrderLiveWareOUT>(b =>
            {
                b.ToTable("OrderLiveWareOUT");

                b.ConfigureByConvention();
                
            });

            builder.Entity<WarehouseReserve>(b =>
            {
                b.ToTable("WarehouseReserve");

                b.ConfigureByConvention();
                
                b.Property(x => x.WarehouseLocation).IsRequired();
                b.Property(x => x.DocumentCode).IsRequired();
                b.Property(x => x.ShippingCarrier).IsRequired();
                b.Property(x => x.ShopStatus).IsRequired();
                b.Property(x => x.ApplicantName).IsRequired();
                b.Property(x => x.WarehoseName).IsRequired();
                b.Property(x => x.DocumentType).IsRequired();
                b.Property(x => x.DocumentRemarks).IsRequired();
                b.Property(x => x.ApplicantTime).IsRequired();
                b.Property(x => x.WaybillNumber).IsRequired();
            });

            builder.Entity<WarehouseReserveGood>(b =>
            {
                b.ToTable("WarehouseReserveGood");

                b.ConfigureByConvention();
                
                b.Property(x => x.Pic).IsRequired();
                b.Property(x => x.GoodNo).IsRequired();
                b.Property(x => x.Company).IsRequired();
                b.Property(x => x.GoodPrompt).IsRequired();
                b.Property(x => x.GoodSkuValue).IsRequired();
                b.Property(x => x.GoodBarCode).IsRequired();
                b.Property(x => x.GoodRetailPrice).IsRequired();
                b.Property(x => x.GoodName).IsRequired();
                b.Property(x => x.GoodSkuCode).IsRequired();
            });

            builder.Entity<WarehouseReserveShipper>(b =>
            {
                b.ToTable("WarehouseReserveShipper");

                b.ConfigureByConvention();
                
                b.Property(x => x.ShipperFullAddress).IsRequired();
                b.Property(x => x.ShipperPhone).IsRequired();
                b.Property(x => x.ShipperCity).IsRequired();
                b.Property(x => x.ShipperDistrict).IsRequired();
                b.Property(x => x.ShipperCun).IsRequired();
                b.Property(x => x.ShipperZip).IsRequired();
                b.Property(x => x.ShipperName).IsRequired();
                b.Property(x => x.ShipperProvince).IsRequired();
                b.Property(x => x.ShipperTelephone).IsRequired();
                b.Property(x => x.ShipperEmail).IsRequired();
            });

            builder.Entity<Return>(b =>
            {
                b.ToTable("Return");

                b.ConfigureByConvention();
                
                b.Property(x => x.Code).IsRequired();
                b.Property(x => x.Order).IsRequired();
                b.Property(x => x.Remark).IsRequired();
                b.Property(x => x.Name).IsRequired();
                b.HasIndex(x => x.Name);

            });

            builder.Entity<Brand>(b =>
            {
                b.ToTable("Brand");

                b.ConfigureByConvention();
                
                b.Property(x => x.SPBrandId).IsRequired();
                b.Property(x => x.SPBrandName).IsRequired();
            });

            builder.Entity<GoodsSP>(b =>
            {
                b.ToTable("GoodsSP");

                b.ConfigureByConvention();
                
                b.Property(x => x.BarcodesSP).IsRequired();
                b.Property(x => x.GoodsAbbreviationSP).IsRequired();
                b.Property(x => x.TagPriceSP).IsRequired();
                b.Property(x => x.WeightSP).IsRequired();
                b.Property(x => x.GoodsNameSP).IsRequired();
                b.Property(x => x.GoodsRemarkSP).IsRequired();
                b.Property(x => x.VolumeSP).IsRequired();
                b.Property(x => x.UnitSP).IsRequired();
                b.Property(x => x.PicNo).IsRequired();
                b.Property(x => x.WidthSP).IsRequired();
                b.Property(x => x.LengthSP).IsRequired();
                b.Property(x => x.HeightSP).IsRequired();
                b.Property(x => x.AidedBarcodesSP).IsRequired();
                b.Property(x => x.CatalogNumberSP).IsRequired();
                b.Property(x => x.GoodsNo).IsRequired();
                b.Property(x => x.SPGoodsGradeId).IsRequired();
                b.Property(x => x.SPGoodsTypeId).IsRequired();
                b.Property(x => x.ConsultsPriceSP).IsRequired();
                b.Property(x => x.StandardPriceSP).IsRequired();
                b.Property(x => x.VolumeUnitSP).IsRequired();
                b.Property(x => x.LengthUnitSP).IsRequired();
                b.Property(x => x.SPBrandId).IsRequired();
                b.Property(x => x.SPIsYes).IsRequired();
                b.Property(x => x.WeightUnitSP).IsRequired();
            });

            builder.Entity<SystemType>(b =>
            {
                b.ToTable("SystemType");

                b.ConfigureByConvention();
                
                b.Property(x => x.SystemTypeNo).IsRequired();
                b.Property(x => x.SystemName).IsRequired();
            });

            builder.Entity<GoodsType>(b =>
            {
                b.ToTable("GoodsType");

                b.ConfigureByConvention();
                
                b.Property(x => x.GoodsTypeName).IsRequired();
                b.Property(x => x.GoodsTypeNo).IsRequired();
            });

            builder.Entity<GoodsSpec>(b =>
            {
                b.ToTable("GoodsSpec");

                b.ConfigureByConvention();
                
                b.Property(x => x.SpecNo).IsRequired();
                b.Property(x => x.Height).IsRequired();
                b.Property(x => x.Weight).IsRequired();
                b.Property(x => x.Barcodes).IsRequired();
                b.Property(x => x.ConsultsPrice).IsRequired();
                b.Property(x => x.StandardPrice).IsRequired();
                b.Property(x => x.GoodsNo).IsRequired();
                b.Property(x => x.OtherSpec).IsRequired();
                b.Property(x => x.TagPrice).IsRequired();
                b.Property(x => x.Width).IsRequired();
                b.Property(x => x.AidedBarcodes).IsRequired();
                b.Property(x => x.Color).IsRequired();
                b.Property(x => x.Pic).IsRequired();
                b.Property(x => x.Length).IsRequired();
                b.Property(x => x.Volume).IsRequired();
            });

            builder.Entity<GoodsSP>(b =>
            {
                b.ToTable("GoodsSP");

                b.ConfigureByConvention();
                
                b.Property(x => x.BarcodesSP).IsRequired();
                b.Property(x => x.GoodsAbbreviationSP).IsRequired();
                b.Property(x => x.TagPriceSP).IsRequired();
                b.Property(x => x.WeightSP).IsRequired();
                b.Property(x => x.GoodsNameSP).IsRequired();
                b.Property(x => x.GoodsRemarkSP).IsRequired();
                b.Property(x => x.VolumeSP).IsRequired();
                b.Property(x => x.UnitSP).IsRequired();
                b.Property(x => x.PicNo).IsRequired();
                b.Property(x => x.WidthSP).IsRequired();
                b.Property(x => x.LengthSP).IsRequired();
                b.Property(x => x.HeightSP).IsRequired();
                b.Property(x => x.AidedBarcodesSP).IsRequired();
                b.Property(x => x.CatalogNumberSP).IsRequired();
                b.Property(x => x.GoodsNo).IsRequired();
                b.Property(x => x.SPGoodsGradeId).IsRequired();
                b.Property(x => x.SPGoodsTypeId).IsRequired();
                b.Property(x => x.ConsultsPriceSP).IsRequired();
                b.Property(x => x.StandardPriceSP).IsRequired();
                b.Property(x => x.VolumeUnitSP).IsRequired();
                b.Property(x => x.LengthUnitSP).IsRequired();
                b.Property(x => x.SPBrandId).IsRequired();
                b.Property(x => x.SPIsYes).IsRequired();
                b.Property(x => x.WeightUnitSP).IsRequired();
            });

            builder.Entity<Brand>(b =>
            {
                b.ToTable("Brand");

                b.ConfigureByConvention();
                
                b.Property(x => x.SPBrandId).IsRequired();
                b.Property(x => x.SPBrandName).IsRequired();
            });

            builder.Entity<Brand>(b =>
            {
                b.ToTable("Brand");

                b.ConfigureByConvention();
                
                b.Property(x => x.SPBrandId).IsRequired();
                b.Property(x => x.SPBrandName).IsRequired();
            });

            builder.Entity<GoodsSP>(b =>
            {
                b.ToTable("GoodsSP");

                b.ConfigureByConvention();
                
                b.Property(x => x.BarcodesSP).IsRequired();
                b.Property(x => x.GoodsAbbreviationSP).IsRequired();
                b.Property(x => x.TagPriceSP).IsRequired();
                b.Property(x => x.WeightSP).IsRequired();
                b.Property(x => x.GoodsNameSP).IsRequired();
                b.Property(x => x.GoodsRemarkSP).IsRequired();
                b.Property(x => x.VolumeSP).IsRequired();
                b.Property(x => x.UnitSP).IsRequired();
                b.Property(x => x.PicNo).IsRequired();
                b.Property(x => x.WidthSP).IsRequired();
                b.Property(x => x.LengthSP).IsRequired();
                b.Property(x => x.HeightSP).IsRequired();
                b.Property(x => x.AidedBarcodesSP).IsRequired();
                b.Property(x => x.CatalogNumberSP).IsRequired();
                b.Property(x => x.GoodsNo).IsRequired();
                b.Property(x => x.SPGoodsGradeId).IsRequired();
                b.Property(x => x.SPGoodsTypeId).IsRequired();
                b.Property(x => x.ConsultsPriceSP).IsRequired();
                b.Property(x => x.StandardPriceSP).IsRequired();
                b.Property(x => x.VolumeUnitSP).IsRequired();
                b.Property(x => x.LengthUnitSP).IsRequired();
                b.Property(x => x.SPBrandId).IsRequired();
                b.Property(x => x.SPIsYes).IsRequired();
                b.Property(x => x.WeightUnitSP).IsRequired();
            });

            builder.Entity<OrdersGoods>(b =>
            {
                b.ToTable("OrdersGoods");

                b.ConfigureByConvention();
                
                b.Property(x => x.GoodsNo).IsRequired();
                b.Property(x => x.OrderNo).IsRequired();
                b.Property(x => x.BuyCount).IsRequired();
            });

            builder.Entity<CompanyKanBan>(b =>
            {
                b.ToTable("CompanyKanBan");

                b.ConfigureByConvention();
                
                b.HasIndex(x => x.WarehouseNo);

                b.HasIndex(x => x.OutWarehouse);

                b.HasIndex(x => x.EndTime);

                b.HasIndex(x => x.StartTime   );

            });

            builder.Entity<ZeroPickOrder>(b =>
            {
                b.ToTable("ZeroPickOrder");

                b.ConfigureByConvention();
                
                b.Property(x => x.Reminder).IsRequired();
                b.Property(x => x.Franking).IsRequired();
                b.Property(x => x.FrankStatus).IsRequired();
                b.Property(x => x.OrderNote).IsRequired();
                b.Property(x => x.DeliveryMethod).IsRequired();
                b.Property(x => x.Phone).IsRequired();
                b.Property(x => x.TrackingNumber).IsRequired();
                b.Property(x => x.ExternalStatus).IsRequired();
                b.Property(x => x.DetailedAddress).IsRequired();
                b.Property(x => x.Consignee).IsRequired();
                b.Property(x => x.Buyer).IsRequired();
                b.Property(x => x.Carrier).IsRequired();
                b.Property(x => x.BuyerMessage).IsRequired();
                b.Property(x => x.Discount).IsRequired();
                b.Property(x => x.WeightEstimation).IsRequired();
                b.Property(x => x.OnlineOrderNumber).IsRequired();
                b.Property(x => x.Pay).IsRequired();
                b.Property(x => x.ExternalOrderNumber).IsRequired();
                b.Property(x => x.OrderNumber).IsRequired();
                b.Property(x => x.Freight).IsRequired();
                b.Property(x => x.Weight).IsRequired();
                b.Property(x => x.TotalGoods).IsRequired();
                b.Property(x => x.PrintBatchNumber).IsRequired();
                b.Property(x => x.PlatformStore).IsRequired();
                b.Property(x => x.OutboundType).IsRequired();
                b.Property(x => x.Volume).IsRequired();
                b.Property(x => x.PickingArea).IsRequired();
                b.Property(x => x.Brand).IsRequired();
                b.Property(x => x.Mark).IsRequired();
                b.Property(x => x.GoodsImage).IsRequired();
                b.Property(x => x.GoodsSpec).IsRequired();
                b.Property(x => x.GoodsName).IsRequired();
            });

            builder.Entity<Purchase>(b =>
            {
                b.ToTable("Purchase");

                b.ConfigureByConvention();
                
                b.Property(x => x.Name).IsRequired();
                b.Property(x => x.Remark ).IsRequired();
                b.Property(x => x.Stash).IsRequired();
                b.Property(x => x.Factor).IsRequired();
            });

            builder.Entity<OutWareAbnormal>(b =>
            {
                b.ToTable("OutWareAbnormal");

                b.ConfigureByConvention();
                
            });

            builder.Entity<ProductionWarning>(b =>
            {
                b.ToTable("ProductionWarning");

                b.ConfigureByConvention();
                
            });

            builder.Entity<CancelAppointment>(b =>
            {
                b.ToTable("CancelAppointment");

                b.ConfigureByConvention();
                
                b.Property(x => x.CancelAppointmentremind).IsRequired();
                b.Property(x => x.ContainerCoding).IsRequired();
                b.Property(x => x.ApplicantName).IsRequired();
                b.Property(x => x.Status).IsRequired();
                b.Property(x => x.CancelDocumentCode).IsRequired();
                b.Property(x => x.CauseProblem).IsRequired();
                b.Property(x => x.DocumentsType).IsRequired();
                b.Property(x => x.BuyersID).IsRequired();
                b.Property(x => x.CancelShippingCarrier).IsRequired();
                b.Property(x => x.WarehouseName).IsRequired();
                b.Property(x => x.ERPOrderNo).IsRequired();
                b.Property(x => x.CancelWarehouseLocation).IsRequired();
                b.Property(x => x.DocumentRemarks).IsRequired();
                b.Property(x => x.OnlineOrderNo).IsRequired();
                b.Property(x => x.RawOrderNo).IsRequired();
                b.Property(x => x.StoreName).IsRequired();
            });

            builder.Entity<Plan>(b =>
            {
                b.ToTable("Plan");

                b.ConfigureByConvention();
                
                b.Property(x => x.Odd).IsRequired();
                b.Property(x => x.Number).IsRequired();
                b.Property(x => x.Planner).IsRequired();
                b.Property(x => x.Ordernumber).IsRequired();
                b.Property(x => x.Remark).IsRequired();
                b.Property(x => x.State).IsRequired();
                b.Property(x => x.Types).IsRequired();
            });

            //Code generation...

            builder.Entity<Warehouse>(b =>
            {
                b.ToTable("Warehouse");

                b.ConfigureByConvention();

                b.Property(x => x.WarehouseName).IsRequired();


            });

            builder.Entity<Province>(b =>
            {
                b.ToTable("Province");

                b.ConfigureByConvention();

                b.Property(x => x.ProvinceName).IsRequired();
                b.Property(x => x.ProvinceNo).IsRequired();
            });

            builder.Entity<Orders>(b =>
            {
                b.ToTable("Orders");

                b.ConfigureByConvention();

                b.Property(x => x.OrderNo).IsRequired();
                b.Property(x => x.OrderShop).IsRequired();
                b.Property(x => x.Recipients).IsRequired();
                b.Property(x => x.PCode).IsRequired();
                b.Property(x => x.OrderPhone).IsRequired();
                b.Property(x => x.OrderAddr).IsRequired();
                b.Property(x => x.OrderFreight).IsRequired();
            });

            builder.Entity<Shi>(b =>
            {
                b.ToTable("Shi");

                b.ConfigureByConvention();

                b.Property(x => x.PCode).IsRequired();
                b.Property(x => x.ShiName).IsRequired();
                b.Property(x => x.Code).IsRequired();
            });

            builder.Entity<Region>(b =>
            {
                b.ToTable("Region");

                b.ConfigureByConvention();

                b.Property(x => x.RegionNo).IsRequired();
                b.Property(x => x.PCode).IsRequired();
                b.Property(x => x.RegionName).IsRequired();
            });

            builder.Entity<WaitingOutbound>(b =>
            {
                b.ToTable("WaitingOutbound");

                b.ConfigureByConvention();

                b.Property(x => x.Reminder).IsRequired();
                b.Property(x => x.Phone).IsRequired();
                b.Property(x => x.DeliveryMethod).IsRequired();
                b.Property(x => x.OrderNote).IsRequired();
                b.Property(x => x.TrackingNumber).IsRequired();
                b.Property(x => x.DetailedAddress).IsRequired();
                b.Property(x => x.ExternalStatus).IsRequired();
                b.Property(x => x.Buyer).IsRequired();
                b.Property(x => x.LocationStock).IsRequired();
                b.Property(x => x.Pay).IsRequired();
                b.Property(x => x.BuyerMessage).IsRequired();
                b.Property(x => x.Discount).IsRequired();
                b.Property(x => x.Carrier).IsRequired();
                b.Property(x => x.Consignee).IsRequired();
                b.Property(x => x.OrderNumber).IsRequired();
                b.Property(x => x.ExternalOrderNumber).IsRequired();
                b.Property(x => x.OnlineOrderNumber).IsRequired();
                b.Property(x => x.Weight).IsRequired();
                b.Property(x => x.PickingArea).IsRequired();
                b.Property(x => x.Freight).IsRequired();
                b.Property(x => x.OrderTime).IsRequired();
                b.Property(x => x.OutboundType).IsRequired();
                b.Property(x => x.WarehouseOrderTime).IsRequired();
                b.Property(x => x.TotalGoods).IsRequired();
                b.Property(x => x.PaymentTime).IsRequired();
                b.Property(x => x.PlatformStore).IsRequired();
                b.Property(x => x.WeightEstimation).IsRequired();
                b.Property(x => x.ArrivalTime).IsRequired();
                b.Property(x => x.Mark).IsRequired();
                b.Property(x => x.Brand).IsRequired();
                b.Property(x => x.LatestShipmentTime).IsRequired();
                b.Property(x => x.AttributionWave).IsRequired();
                b.Property(x => x.Volume).IsRequired();
                b.Property(x => x.WaitingTimeoutTime).IsRequired();
                b.Property(x => x.RemainingShipmentTime).IsRequired();
            });

            
        }
    }
}
